MIMO communication system with user scheduling and modified precoding based on channel vector magnitudes

ABSTRACT

A multiple-input, multiple-output (MIMO) communication system is configured to perform user scheduling and associated precoding. The system includes multiple terminals and at least one base station configured to communicate with the terminals. The base station is operative to obtain channel vectors for respective ones of the terminals, to select a subset of the terminals based on magnitudes of the respective channel vectors, to compute a precoding matrix using the channel vectors of the selected subset of terminals, and to utilize the preceding matrix to control transmission to the selected subset of terminals. The system may be, for example, a time-division duplex (TDD) multi-user MIMO system in which the multiple terminals comprise autonomous single-antenna terminals.

RELATED APPLICATION

The present application claims the priority of U.S. Provisional Application Ser. No. 61/011,184, filed Jan. 15, 2008 and entitled “Efficient Scheduling in Time Division Duplex (TDD) Multiple Input Multiple Output (MIMO) Broadcast,” the disclosure of which is incorporated by reference herein.

FIELD OF THE INVENTION

The present invention relates generally to communication systems, and more particularly to MIMO communication systems.

BACKGROUND OF THE INVENTION

In a typical multi-user MIMO communication system, a multi-antenna array in a base station sends multiple data streams selectively and simultaneously to autonomous single-antenna terminals, also referred to as “users,” thereby achieving throughput gains relative to a set of single-antenna links. Multi-user systems of this type are sometimes referred to as “broadcast” MIMO systems. The converse to broadcast MIMO is sometimes referred to as “multiple access” MIMO, and it entails the autonomous single-antenna terminals sending multiple data streams simultaneously to the multi-antenna array in the base station.

One drawback of multi-user MIMO systems is that the base station has to know the propagation characteristics of the forward channel. The process through which the base station obtains this information is generally referred to as training. See, for example, U.S. Patent Application Publication No. 2005/0265290 to Hochwald et al. entitled “Feedback Method for Channel State Information of a Wireless Link,” which is commonly assigned herewith and incorporated by reference herein. Each of the single-antenna terminals may generate forward channel state information in the form of a corresponding channel vector which characterizes the channel between the base station and that terminal. The channel vectors may be based on measurements made by the terminals using pilot signals transmitted by the base station over the forward channel. The terminals transmit their respective channel vectors back to the base station over the reverse channel. These channel vectors collectively form what is referred to as a forward channel matrix. The base station includes a precoder that adjusts forward channel signals prior to transmission in accordance with an inverse of the forward channel matrix. Precoding processes such as this, which are also generally referred to as “preconditioning,” advantageously tend to offset any adverse impacts of the forward channel on the transmitted signals.

It is well known that the acquisition of forward channel state information by the base station can be considerably facilitated through the use of time-division duplex (TDD) operation. In the TDD context, the principle of reciprocity implies that the reverse channel matrix is equal to the transpose of the forward channel matrix, so the base station can readily obtain the required forward channel state information by simply processing pilot signals transmitted by the terminals over the reverse channel. Thus, TDD operation avoids the need for the terminals to generate channel vectors and transmit such channel vectors back to the base station. Instead, such channel vectors are generated by the base station from the reverse channel pilot signals.

By way of contrast, in frequency division duplex (FDD) operation, the principle of reciprocity generally does not apply, and the generation and transmission of the above-noted channel vectors remains a requirement. The amount of overhead involved may be prohibitive, especially when the number of terminals is large, or when the channel characteristics are changing rapidly due to terminal mobility.

Despite the fact that the determination of forward channel state information is much simpler in the TDD context than in the FDD context, a need nonetheless remains for improvements in conventional TDD MIMO systems, particularly in terms of user scheduling and precoding.

SUMMARY OF THE INVENTION

The present invention in illustrative embodiments provides improvements in user scheduling and preceding in TDD MIMO systems.

The system in the above-noted illustrative embodiments is a multi-user MIMO system in which the multiple terminals comprise autonomous single-antenna terminals. More specifically, in the multi-user MIMO system of the illustrative embodiments, the base station communicates with the multiple terminals via a set of M antennas and the multiple terminals comprise K single-antenna terminals. In other embodiments, one or more of the terminals may each comprise multiple antennas, rather than a single antenna.

In accordance with an aspect of the invention, a MIMO system includes multiple terminals and at least one base station configured to communicate with the terminals. The base station is operative to obtain channel vectors for respective ones of the terminals, to select a subset of the terminals based on magnitudes of the respective channel vectors, to compute a preceding matrix using the channel vectors of the selected subset of terminals, and to utilize the precoding matrix to control transmission to the selected subset of terminals. In an illustrative embodiment of this aspect, the base station selects from among K terminals those N terminals having the largest channel vector magnitudes, where N<K. This selection process may involve, for example, forming an N×M matrix Ĥ_(S) _(N) =[ĥ₍₁₎ĥ₍₂₎ . . . ĥ_((N))]^(T) where ĥ₍₁₎ ^(T), ĥ₍₂₎ ^(T), . . . , ĥ_((K)) ^(T) comprise rows of an estimated forward channel matrix Ĥ arranged in order of decreasing channel vector magnitudes.

In accordance with another aspect of the invention, a MIMO system includes multiple terminals and at least one base station configured to communicate with the terminals. The base station is operative to obtain channel vectors for respective ones of the terminals, to compute a precoding matrix using the channel vectors, and to utilize the precoding matrix to control transmission to the terminals, where the preceding matrix is computed as a function of a product of a diagonal matrix and an estimated forward channel matrix. In an illustrative embodiment of this aspect, the preceding matrix is computed as

$A_{D} = \frac{{{\hat{H}}_{D}^{\dagger}\left( {{\hat{H}}_{D}{\hat{H}}_{D}^{\dagger}} \right)}^{- 1}}{\sqrt{{tr}\left\lbrack \left( {{\hat{H}}_{D}{\hat{H}}_{D}^{\dagger}} \right)^{- 1} \right\rbrack}}$ where Ĥ_(D)=DĤ, Ĥ denotes the estimated forward channel matrix,

${D = {{diag}\left\{ \left\lbrack {p_{1}^{- \frac{1}{2}}p_{2}^{- \frac{1}{2}}\mspace{14mu}\ldots\mspace{14mu} p_{K}^{- \frac{1}{2}}} \right\rbrack \right\}}},$ and p=[p₁ p₂ . . . p_(K)]^(T) is a vector of non-negative real numbers that may be selected to approximately maximize a lower bound on forward channel weighted sum capacity.

Advantageously, the scheduling and preceding approaches of the above-noted illustrative embodiments provide significantly improved throughput in TDD MIMO systems relative to conventional such systems. This throughput improvement is achieved without requiring any increase in transmission power or other system resource.

These and other features and advantages of the present invention will become more apparent from the accompanying drawings and the following detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a simplified diagram of a multi-user MIMO communication system in an illustrative embodiment of the invention.

FIG. 2 shows a more detailed view of one possible implementation of a base station of the FIG. 1 system.

FIG. 3 is a flow diagram of an exemplary user scheduling process implemented in the FIG. 1 system.

FIGS. 4 and 5 are graphical plots illustrating exemplary improvements in sum rate provided by respective user scheduling and preceding techniques in illustrative embodiments of the invention.

DETAILED DESCRIPTION OF THE INVENTION

The present invention will be illustrated below in conjunction with exemplary TDD multi-user MIMO systems and associated techniques for user scheduling and preceding. It should be understood, however, that the invention is not limited to use with any particular type of MIMO system, or user scheduling and preceding techniques. The disclosed techniques are suitable for use with a wide variety of other MIMO systems which utilize various types of scheduling and preceding, and in numerous alternative applications.

It should be noted that the scheduling and preceding techniques of the invention may be used separately from one another, and both need not be present in any particular embodiment of the present invention. Thus, for example, a given embodiment of the present invention may utilize the scheduling techniques as described herein with otherwise conventional preceding techniques, or the preceding techniques as described herein with otherwise conventional scheduling techniques.

Aspects of the present invention may be implemented in otherwise conventional wireless networks such as cellular, Wi-Fi or WiMax networks, or in a wide variety of other types of wireless communication systems. The term “base station” as used herein is therefore intended to be construed broadly so as to encompass, by way of example, an access point of a wireless network, or any other type of wireless communication system entity which utilizes MIMO techniques to communicate with multiple users.

FIG. 1 shows a multi-user MIMO system 100 comprising a base station 102 which communicates with a plurality of wireless terminals more particularly denoted as 104-1, 104-2, . . . 104-K each equipped with a single antenna denoted 1, 2, 3, . . . K. These terminals are also referred to herein as “users.” The terminals may be, for example, mobile telephones, portable computers, wireless email devices, personal digital assistants (PDAs) or other user communication devices, in any combination. The base station 102 includes an antenna array 110 comprising M antennas as shown, and base station processing circuitry 112. The base station 102 transmits information to the terminals 104 via a forward link or downlink, and receives information from the terminals 104 via a reverse link or uplink.

In other embodiments, one or more of the terminals 104 may each comprise multiple antennas, rather than a single antenna as in the present illustrative embodiment. Those skilled in the art will appreciate that the techniques disclosed herein can be adapted in a straightforward manner for use with one or more such multi-antenna terminals.

Of course, a given MIMO system may include multiple base stations, each serving a number of different arrangements of terminals of various types.

It will be assumed for purposes of illustration that the system 100 operates in a TDD mode, although such operation is not a requirement of the invention. As noted above, the reciprocity principle generally applies in the TDD context, and so the base station is able to obtain adequate forward channel state information simply by processing reverse link pilot signals transmitted by the terminals. Such pilot signals are examples of what are more generally referred to herein as “training signals” or “training sequences.” The present illustrative embodiment provides improved throughput in a TDD MIMO system through user scheduling and precoding techniques that will be described in greater detail below.

FIG. 2 shows a more detailed view of one possible configuration of the base station 102 of multi-user MIMO system 100. In this embodiment, the base station 102 comprises transceiver circuitry 200, a processor 202 and a memory 204. The transceiver circuitry 200 may be coupled to the M antennas of the antenna array 110 via respective forward link transmit power amplifiers and receive link receive preamplifiers, although such elements are omitted from the figure for clarity of illustration. A variety of additional or alternative conventional transceiver elements may be incorporated into the transceiver circuitry 200, as will be appreciated by those skilled in the art. The processor 202 implements a number of processing elements including a scheduler element 210 and a power allocation element 212. The operation of these elements will be described in greater detail below in conjunction with the description of the user scheduling and preceding techniques.

One or more software programs for implementing user scheduling and preceding techniques as described herein may be stored in memory 204 and executed by processor 202. The scheduler and power allocation elements 210 and 212 of the processor 202 may thus represent functional software components executed by the processor. The processor 202 may comprise multiple integrated circuits, digital signal processors or other types of processing devices, and associated supporting circuitry, in any combination. Numerous alternative arrangements of hardware, software or firmware in any combination may be utilized in implementing the base station 102 or particular elements thereof. The memory 204 may be viewed as an example of what is more generally referred to herein as a “processor-readable storage medium.”

Referring now to FIG. 3, an illustrative process for scheduling users in the multi-user MIMO system 100 is shown. In this embodiment, each user is assumed to be one of the K terminals of system 100.

In step 300, the base station 102 obtains channel vectors for respective ones of the K users 104 for a given coherence interval. The coherence interval denotes a time period, typically specified as a particular number of symbols T, for which channel characteristics such as fading are assumed to remain constant. The base station may obtain the channel vectors using any of a variety of different techniques. For example, as the system 100 is assumed to be a TDD system in the present embodiment, the base station can obtain such vectors by processing pilot signals transmitted by the terminals over the reverse channel, as will be described in greater detail below. Numerous other techniques for obtaining channel vectors are well known in the art, and accordingly will not be described in detail herein.

In step 302, the base station 102 selects a subset of the K terminals 104 based on magnitudes of their respective channel vectors. More particularly, the base station selects, from among the K terminals, a subset of N terminals that have the largest channel vector magnitudes of the K terminals, where N<K. In other embodiments, alternative types of selection based on channel vector magnitudes may be implemented. The magnitude of a channel vector is also referred to herein as the “norm” of a channel vector. The selection operation of step 302 is an example of what is more generally referred to herein as a scheduling operation. Thus, the identified subset is a subset of the K users that the base station will consider for scheduling in a given scheduling interval. The scheduling interval in the present embodiment is assumed to correspond to the above-noted coherence interval. The scheduling intervals may comprise time slots, although such time slot scheduling is not required.

In step 304, the base station 102 computes a precoding matrix using the channel vectors of the selected N terminals 104. Examples of this preceding matrix will be described in greater detail below. The phrase “computing a preceding matrix” is intended to be construed broadly, so as to encompass, for example, an arrangement in which the base station computes individual elements which collectively may be viewed as characterizing such a precoding matrix. As will be described, the base station utilizes the preceding matrix to control transmission to the selected subset of N terminals. For example, the base station may utilize the preceding matrix to allocate transmission power among the identified subset of N terminals.

In step 306, the above-described steps 300, 302 and 304 are repeated for additional coherence intervals. Thus, the selection operation in step 302 may potentially result in different subsets of N terminals being selected from the set of K terminals in each of the coherence intervals, based on changes in the channel vector magnitudes from coherence interval to coherence interval.

As mentioned above, the steps 300 through 304 in FIG. 3 are generally associated with a single scheduling interval, such as a time slot. Thus, the users of the identified subset as determined in step 302 are served in that scheduling interval. The process is repeated for other coherence intervals in step 306, each of which may represent a separate scheduling interval.

The base station operations associated with the process as illustrated in FIG. 3 may be implemented using one or more software programs stored in memory 204 and executed by processor 202, as previously indicated. The wireless terminal operations associated with the FIG. 3 process may similarly be implemented in software stored and executed by respective memory and processor elements of the wireless terminals.

Detailed examples of scheduling and preceding techniques implemented in the system 100 will now be described. In these examples, particular MIMO system models, characteristics and operating parameters are assumed for illustrative purposes. It should be emphasized, however, that these and any other assumptions made herein are not requirements of the invention, and need not apply in other embodiments.

In the examples to be described, bold font variables denote vectors or matrices. All vectors are column vectors. The notations (·)^(T), (·)*, (·)^(†) and tr(·) denote transpose, conjugate, Hermitian conjugate and trace, respectively. The notations

[·] and var{·} stand for expectation and variance operations, respectively. The notation diag{a} stands for the L×L diagonal matrix with diagonal entries equal to the L components of a.

As described above, base station 102 in the illustrative embodiment comprises M antennas that communicate with K autonomous single-antenna terminals 104 on both forward and reverse links. The terminals 104 will also be referred to as “users” in the following description. The forward channel is characterized by K×M propagation matrix H. We assume independent Rayleigh fading channels, which remain constant over a coherence interval of T symbols. The entries of the channel matrix H are independent and identically distributed (i.i.d.) zero-mean, circularly-symmetric complex Gaussian CN(0,1) random variables. This model incorporates frequency selectivity of fading by using orthogonal frequency-division multiplexing (OFDM). Note that the duration of the coherence interval in symbols is chosen for the OFDM sub-band. Due to reciprocity, we assume that the reverse channel at any instant is the transpose of the forward channel.

Let the forward and reverse SINRs associated with the k^(th) user 104 be ρ_(fk) and ρ_(rk), respectively. These forward and reverse SINRs are assumed to remain fixed for the corresponding channel user. On the forward link, the signal received by the k^(th) user is x _(fk)=√{square root over (ρ_(fk))}h _(k) ^(T) s _(f) +w _(fk)  (1) where h_(k) ^(T) is the k^(th) row of the channel matrix H and s_(f) is the M×1 vector in which information symbols to be communicated are embedded. The components of the additive noise vector [w_(f1) w _(f2) . . . w_(fK)] are i.i.d. CN(0,1). The average power constraint at the base station 102 during transmission is

[∥s_(f)∥²]=1 so that the total transmit power is fixed irrespective of its number of antennas. On the reverse link, the vector received at the base station is x _(r) =H ^(T) E _(r) s _(r) +w _(r)  (2) where s_(r) is the signal vector transmitted by the users and E_(r)=diag{[√{square root over (ρ_(r1))}√{square root over (ρ_(r2))} . . . √{square root over (ρ_(rK))}]^(T)}. The components of the additive noise w_(r) are i.i.d. CN(0,1). There is assumed to be a power constraint at every user during transmission given by

[∥s_(rk)∥²]=1 where s_(rk) is the k^(th) component of s_(r).

The channel vectors may be obtained in step 300 of the FIG. 3 process using channel estimation performed in the following manner. As mentioned above, reciprocity is one of the key advantages of TDD systems over FDD systems. We exploit this property to perform channel estimation by transmitting training sequences on the reverse link. Every user 104 transmits a sequence of training signals of τ_(rp) symbols duration in every coherence interval. We assume that these training sequences are known a priori to the base station 102. The k^(th) user transmits the training sequence vector √{square root over (τ_(rp))}ψ_(k) ^(†). We use orthonormal sequences which implies ψ_(i) ^(†)ψ_(j)=δ_(ij) where δ_(ij) is the Kronecker delta. The use of orthogonal sequences restricts the maximum number of users to τ_(rp), i.e., K≦τ_(rp).

The corrupted sequence of training signals received at the base station 102 is Y _(f)=√{square root over (τ_(rp))}H ^(T) E _(r)Ψ^(†) +V _(r)  (3) where τ_(rp)×K matrix Ψ=[ψ₁ψ₂ . . . ψ_(K)] and the components of M×τ_(rp) additive noise matrix V_(r) are i.i.d. CN(0,1). The base station obtains the linear minimum-mean-square-error (LMMSE) estimate of the channel

$\begin{matrix} {\hat{H} = {{diag}\left\{ \left\lbrack {\frac{\sqrt{\rho_{r\; 1}\tau_{rp}}}{1 + {\rho_{r\; 1}\tau_{rp}}}\mspace{14mu}\ldots\mspace{14mu}\frac{\sqrt{\rho_{rK}\tau_{rp}}}{1 + {\rho_{rK}\tau_{rp}}}} \right\rbrack^{T} \right\}\Psi^{T}{Y_{r}^{T}.}}} & (4) \end{matrix}$ This estimate Ĥ is the conditional mean of H and hence, the MMSE estimate as well. By the properties of conditional mean and joint Gaussian distribution, the estimate Ĥ is independent of the estimation error {tilde over (H)}=H−Ĥ. The components of Ĥ are independent and the elements of its k^(th) row are

${{CN}\left( {0,\frac{\rho_{rk}\tau_{rp}}{1 + {\rho_{rk}\tau_{rp}}}} \right)}.$ In addition, the components of {tilde over (H)} are independent and the elements of its k^(th) row are

${{CN}\left( {0,\frac{1}{1 + {\rho_{rk}\tau_{rp}}}} \right)}.$

We will now focus on the special case of homogeneous users. In this case, it is assumed that forward SINRs from the base station 102 to all users 104 are equal and also that reverse SINRs from all users to the base station are equal, i.e., ρ_(f1)= . . . =ρ_(fK)=ρ_(f) and ρ_(r1)= . . . =ρ_(rK)=ρ_(r).

As indicated in the FIG. 3 process, the base station 102 performs scheduling and preceding for the forward link. The base station selects a subset of N users among the K users and precodes the information signals to be transmitted to these N users. It should be noted that for certain coherence intervals, the base station may select N=K users. Thus, the value of N may be less than or equal to K. The scheduling strategy used to select the users will be explained in greater detail below. Let the set of users selected be S_(N)

{1, 2, . . . , K} with N distinct entries. The base station forms the M×1 transmission signal vector s_(f), which drives the antennas 110, from the information symbol vector q=[q₁ q₂ . . . q_(N)]^(T) for the selected users by premultiplying it with a preceding matrix. We use the preceding matrix

$\begin{matrix} {A_{S_{N}} = \frac{{{\hat{H}}_{S_{N}}^{\dagger}\left( {{\hat{H}}_{S_{N}}{\hat{H}}_{S_{N}}^{\dagger}} \right)}^{- 1}}{\sqrt{{tr}\left\lbrack \left( {{\hat{H}}_{S_{N}}{\hat{H}}_{S_{N}}^{\dagger}} \right)^{- 1} \right\rbrack}}} & (5) \end{matrix}$ which is proportional to the pseudo-inverse of the estimated channel. The N×M matrix Ĥ_(S) _(N) is formed by the rows in set S_(N) of matrix Ĥ. We use this preceding matrix because of the lack of any channel knowledge at the users. The precoding matrix is normalized so that tr(A_(S) _(N) ^(†)A_(S) _(N) )=1.

The transmission signal vector is given by s_(f)=A_(S) _(N) q  (6) and the power constraint at the base station 102 is satisfied by imposing the condition

[∥q_(n)∥²]=1, ∀nε{1, . . . , N}. From (1) and (6), we obtain the signal vector received at the selected users as x _(f)=√{square root over (ρ_(f))}H _(S) _(N) A _(S) _(N) q+w _(f)  (7) where H_(S) _(N) is the matrix formed by the rows in set S_(N) of the matrix H.

A lower bound on the sum capacity of the system in the present embodiment may be obtained in the following manner. The lower bound holds for any scheduling strategy used at the base station 102 which selects a fixed number of users 104. Recall that the base station performs channel estimation as described previously. For this illustrative system, every selected user can achieve a downlink rate during data transmission of at least

$\begin{matrix} {C_{{ind}\text{-}l\; b} = {\log_{2}\left( {1 + \frac{\rho_{f}{{??}^{2}\lbrack\chi\rbrack}}{1 + {\rho_{f}\left( {\frac{1}{1 + {\rho_{r}\tau_{rp}}} + {{var}\left\{ \chi \right\}}} \right)}}} \right)}} & (8) \end{matrix}$ bits/transmission where χ is a scalar random variable given by

$\chi = {\left( {{tr}\left\lbrack \left( {{\hat{H}}_{S_{N}}{\hat{H}}_{S_{N}}^{\dagger}} \right)^{- 1} \right\rbrack} \right)^{- \frac{1}{2}}.}$ It can also be shown that for the system with homogeneous users, a lower bound on the sum capacity is

$\begin{matrix} {C_{{sum}\text{-}l\; b} = {\max\limits_{{N \leq K},{N \in {??}^{+}}}{N \cdot {C_{{ind}\text{-}l\; b}.}}}} & (9) \end{matrix}$

The scheduling strategy in the present embodiment will now be described in greater detail. The need for explicit scheduling arises due the use of pseudo-inverse based precoding of the information symbols. With perfect channel knowledge at the base station (Ĥ=H) and no scheduling (N=K), the pseudo-inverse based preceding diagonalizes the effective forward channel and every user sees a statistically identical effective channel irrespective of its actual channel. The inability to vary the effective gains to the users depending on their channel states is due to lack of any channel knowledge at the users. This possibly causes a reduction in achievable sum rate. The present embodiment addresses this problem by using a scheduling strategy which explicitly selects N≦K users before preceding, as indicated previously in conjunction with step 302 of FIG. 3 and further described below.

In every coherence interval, the channel estimate at the base station 102 is used to select the N users with largest estimated channel gains. Let ĥ₍₁₎ ^(T), ĥ₍₂₎ ^(T), . . . , ĥ_((K)) ^(T) be the norm-ordered rows of the estimated channel matrix Ĥ. Then, the matrix Ĥ_(S) _(N) is given by Ĥ_(S) _(N) =[ĥ₍₁₎ĥ₍₂₎ . . . ĥ_((N))]^(T) and the lower bound in (8) becomes

$\begin{matrix} {C_{{ind}\text{-}l\; b} = {{\log_{2}\left( {1 + \frac{\rho_{f}\;\left( \frac{\rho_{r}\tau_{rp}}{1 + {\rho_{r}\tau_{rp}}} \right){{??}^{2}\lbrack\eta\rbrack}}{1 + {\rho_{f}\left( {\frac{1}{1 + {\rho_{r}\tau_{rp}}} + {\frac{\rho_{r}\tau_{rp}}{1 + {\rho_{r}\tau_{rp}}}{var}\left\{ \eta \right\}}} \right)}}} \right)}.}} & (10) \end{matrix}$ Here, random variable

$\eta = \left( {{tr}\left\lbrack \left( {UU}^{\dagger} \right)^{- 1} \right\rbrack} \right)^{- \frac{1}{2}}$ where U is the N×M matrix formed by the N rows with largest norms of a K×M random matrix Z whose elements are i.i.d. CN(0,1).

A net achievable sum rate may be specified to account for the reduction in achievable sum rate due to training. For example, it may be assumed that, in every coherence interval of T symbols, the first τ_(rp) symbols are used for training on reverse link, one symbol is used for computation, and the remaining T−τ_(rp)−1 symbols are used for transmitting information symbols. The number of users K and the training length τ_(rp) can be chosen such that net throughput of the system is maximized. Thus, net achievable sum rate is defined as

$\begin{matrix} {{C_{net}\left( {M,\rho_{f},\rho_{r}} \right)} = {\max\limits_{K,\tau_{rp}}{\frac{T - \tau_{rp} - 1}{T}{C_{{sum} - {lb}}( \cdot )}}}} & (11) \end{matrix}$ subject to the constraints K≦τ_(rp) and τ_(rp)≦min(M,T−2). The element C_(sum-lb)(·) in (11) is given by (9).

We now consider the general case of heterogenous users. Moreover, we address the problem of maximizing achievable weighted sum rate. The motivation behind this problem is that many algorithms implemented in layers above the physical layer assign weights to each user depending on various factors. We assume that any such weights are predetermined and known. We will describe a modified preceding method and derive an optimized precoding matrix under an M-large assumption. We further combine this with a scheduling strategy to obtain an improved lower bound on the weighted sum capacity.

The modified preceding will now be described. The base station 102 obtains the M×1 transmission signal vector s_(f) by premultiplying the information symbols q=[q₁ q₂ . . . q_(K)]^(T) with a precoding matrix as explained previously. In this embodiment, a modified preceding matrix is given by

$\begin{matrix} {A_{D} = \frac{{{\hat{H}}_{D}^{\dagger}\left( {{\hat{H}}_{D}{\hat{H}}_{D}^{\dagger}} \right)}^{- 1}}{\sqrt{{tr}\left\lbrack \left( {{\hat{H}}_{D}{\hat{H}}_{D}^{\dagger}} \right)^{- 1} \right\rbrack}}} & (12) \end{matrix}$ where Ĥ_(D)=DĤ and

$D = {{diag}{\left\{ \left\lbrack {p_{1}^{- \frac{1}{2}}p_{2}^{- \frac{1}{2}}\mspace{11mu}\ldots\mspace{11mu} p_{K}^{- \frac{1}{2}}} \right\rbrack \right\}.}}$ The choice of D will be explained in detail below. From (1), we obtain the signal vector received at the users x _(f) =E _(f) HA _(D) q+w _(f)  (13) where E_(f)=diag{[√{square root over (ρ_(f1))}√{square root over (ρ_(f2))} . . . √{square root over (ρ_(fK))}]^(T)}.

The lower bound on sum capacity previously described will now be generalized to heterogeneous users and weighted sum rate. For the system in the present embodiment, a lower bound on the forward link weighted sum capacity during transmission is given by

$\begin{matrix} {C_{{wt} - {lb}} = {\sum\limits_{k = 1}^{K}{w_{k}{{\log_{2}\left( {1 + \frac{\rho_{fk}p_{k}{{??}^{2}\left\lbrack \phi_{F} \right\rbrack}}{1 + {\rho_{fk}\left( {\frac{1}{1 + {\rho_{rk}\tau_{rp}}} + {p_{k}{var}\left\{ \phi_{F} \right\}}} \right)}}} \right)}.}}}} & (14) \end{matrix}$ Here, random variable φ_(F) is given by

$\begin{matrix} {\phi_{F} = \left( {{tr}\left\lbrack \left( {{FZZ}^{\dagger}F} \right)^{- 1} \right\rbrack} \right)^{- \frac{1}{2}}} & (15) \end{matrix}$ where

$F = {{D \cdot {diag}}\left\{ \left\lbrack {\sqrt{\frac{\rho_{r\; 1}\tau_{rp}}{1 + {\rho_{r\; 1}\tau_{rp}}}}\mspace{11mu}\ldots\sqrt{\frac{\rho_{rK}\tau_{rp}}{1 + {\rho_{rK}\tau_{rp}}}}} \right\rbrack^{T} \right\}}$ and Z is the K×M random matrix whose elements are i.i.d. CN(0,1).

We wish to choose the matrix D such that C_(wt-lb) in (14) is maximized. However, this problem is hard to analyze. Accordingly, we consider the asymptotic regime M/K>>1. Apart from making the problem mathematically tractable, this asymptotic regime is interesting due to the following two reasons. First, numerical results based on the present embodiment indicate that extra base station antennas are always beneficial. Second, the system imposed constraints K≦τ_(rp) and τ_(rp)≦T restrict the value of K.

It is known that lim_(M/K→∞)ZZ^(†)→MI_(K) where Z is the K×M random matrix whose elements are i.i.d. CN(0,1). Therefore, under M-large approximation, random variable φ_(F) in (15) can be approximated to

$\begin{matrix} {\phi_{F} \approx \sqrt{\frac{M}{{tr}\left( F^{- 2} \right)}}} & (16) \end{matrix}$ which is a constant. Substituting (16) in (14), we get

$\begin{matrix} {{{C_{{wt} - {lb}} \approx {J(p)}} = {\sum\limits_{i = 1}^{K}{w_{i}{\log_{2}\left( {1 + \frac{\beta_{i}p_{i}}{\sum\limits_{j = 1}^{K}{\alpha_{j}p_{j}}}} \right)}}}}{where}{\alpha_{j} = \left( \frac{\rho_{rj}\tau_{rp}}{1 + {\rho_{rj}\tau_{rp}}} \right)^{- 1}}{and}{\beta_{i} = {\frac{M\;\rho_{fi}}{1 + {\rho_{fi}\left( {1 + {\rho_{ri}\tau_{rp}}} \right)}^{- 1}}.}}} & (17) \end{matrix}$

Let p=[p₁ p₂ . . . p_(K)]^(T) be any vector of non-negative real numbers and p*=arg_(max) _(p) J(p) then the set of possible values of p*=c p* where c is any positive real number and p*=[ p*₁ p*₂ . . . p*_(K)]^(T) such that

$\begin{matrix} {{\overset{\_}{p}}_{i}^{*} = {\left( {\frac{w_{i}}{\lambda^{*}\alpha_{i}} - \frac{1}{\beta_{i}}} \right)^{+}.}} & (18) \end{matrix}$ The positive real number λ* is chosen such that the constraint

${\sum\limits_{i = 1}^{K}{\alpha_{i}{\overset{\_}{p}}_{i}^{*}}} = 1$ is satisfied. We use Lagrange multipliers to obtain this result.

The optimized p* given by (18) is substituted in (12) to obtain the optimized preceding matrix. We use this optimized precoding matrix even when K is comparable to M.

In the present embodiment, precoding cannot depend on the instantaneous channel as no channel information is available to the users. Hence, we may use explicit selection of users to take advantage of the instantaneous channel variations. The following is an exemplary scheduling strategy for heterogeneous users.

Let z₁ ^(T), z₂ ^(T), . . . , z_(K) ^(T) be the rows of the matrix

$\begin{matrix} {Z = {{diag}\left\{ \left\lbrack {\sqrt{\frac{1 + {\rho_{r\; 1}\tau_{rp}}}{\rho_{r\; 1}\tau_{rp}}}\ldots\sqrt{\frac{1 + {\rho_{rK}\tau_{rp}}}{\rho_{rK}\tau_{rp}}}} \right\rbrack^{T} \right\}\hat{H}}} & (19) \end{matrix}$ where Ĥ is the estimated channel given by (4). Let subscripts (1), (2), . . . (K) denote the enumeration of the K users such that p*₍₁₎∥z₍₁₎ ^(T)∥²≧ p*₍₂₎∥z₍₂₎∥²≧ . . . ≧ p*_((K))∥z_((K)) ^(T)∥². In every coherence interval, the users are ordered in this manner and information symbols are transmitted to the first N users using the preceding matrix formed by the appropriate rows of the optimized preceding matrix as previously described. The value of N is chosen in order to maximize achievable weighted sum rate. We denote this lower bound on achievable weighted sum rate with scheduling by C_(wt-lb) ^(sh) (·). Net achievable weighted sum rate may be defined as

$\begin{matrix} {{C_{{wt} - {net}}\left( {M,K,\rho_{f},\rho_{r}} \right)} = {\max\limits_{\tau_{rp}}{\frac{T - \tau_{rp} - 1}{T}{C_{{wt} - {lb}}^{sh}( \cdot )}}}} & (20) \end{matrix}$ subject to the constraints τ_(rp)≧K and τ_(rp)≦min(M,T−2).

Numerical simulation results will now be described to show the performance benefits obtained using the techniques of the illustrative embodiments. These results are based on an assumed realistic communication system implementation in which forward and reverse SINRs are low. We consider this implementation since interference from neighboring base stations often forces systems to operate with low SINRs. Moreover, we are interested in high mobility users, and select the system parameters accordingly. Improvements attributable to the use of scheduling with selection of N of K users are illustrated by the plots shown in FIG. 4, while improvements attributable to modified precoding are illustrated by the plots shown in FIG. 5. As mentioned previously herein, the scheduling with selection of N of K users and the modified precoding can be used separately from one another, and are assumed to be used separately from one another in these particular numerical simulations.

FIG. 4 shows the improvement in net achievable sum rate in bits per second per Hertz (bits/s/Hz) as a function of number of base stations antennas M, attributable to scheduling with selection of N of K users, in the case of homogeneous users. This example assumes that the homogeneous users each have a forward SINR of 0 dB and a reverse SINR of −10 dB, and further assumes a coherence interval of T=30 symbols. The training length and number of users K are optimized to maximize net throughput.

The lower curve in FIG. 4 corresponds to a system without selection of N of K users, that is, a system with transmission to all K users, while the upper curve corresponds to a system with selection of N of K users. Neither system utilizes the modified precoding described above. It can be seen from FIG. 4 that a system that schedules users based on selection of N of K users provides a significant increase in throughput, as measured by net achievable sum rate, relative to a system without such scheduling.

With reference now to FIG. 5, the improvement in net achievable sum rate attributable to modified preceding is shown as a function of number of base station antennas M, in the case of heterogeneous users. This example assumes K=12 users with forward SINRs 0, 0, 0, 5, 5, 5, 5, 5, 5, 10, 10, 10 dB and a coherence interval of T=30 symbols. The reverse SINR associated with each user is taken to be 10 dB lower than its forward SINR.

The lower curve in FIG. 5 corresponds to a system without modified precoding, while the upper curve corresponds to a system with modified preceding. Neither system utilizes the selection of N of K users described above. It can be seen from FIG. 5 that a system that incorporates the modified preceding provides a significant increase in throughput, as measured by net achievable sum rate, relative to a system without such modified preceding.

As noted previously, other embodiments of the invention may incorporate both scheduling based on selection of N of K users as well as modified preceding, and such embodiments under similar operating assumptions can be expected to achieve improvements in throughput that are greater than those illustrated in FIGS. 4 and 5 for either technique alone.

Advantageously, the scheduling and preceding techniques of the illustrative embodiments can significantly improve the throughput of multi-user MIMO systems. This throughput improvement is achieved without requiring any increase in transmission power or other system resource.

It should again be emphasized that the embodiments described above are presented by way of illustrative example only. Other embodiments may use different system configurations, scheduling techniques, preceding techniques, etc. depending on the needs of the particular communication application.

For example, the present invention does not require any particular channel vector configuration. Thus, the term “channel vector” as used herein is intended to be construed broadly, so as to encompass a variety of different arrangements of information which characterize a channel between a base station and a wireless terminal.

Various embodiments of the present invention may make use of time slotted transmission of the type described in U.S. patent application Ser. No. 11/553,191, filed Oct. 26, 2006 and entitled “MIMO Communication System with Variable Slot Structure,” which is commonly assigned herewith and incorporated by reference herein.

The particular MIMO system configuration shown in FIGS. 1 and 2 and the scheduling process shown in FIG. 3 may be altered in other embodiments. Also, the particular techniques for obtaining channel vectors, selecting a subset of users based on channel vector magnitudes, computing a preceding matrix, and utilizing the precoding matrix to control transmission to the selected subset of users as described herein may be altered to accommodate particular applications. These and numerous other alternative embodiments within the scope of the appended claims will be readily apparent to those skilled in the art. 

1. A method of communicating information in a multiple-input, multiple-output communication system in which a base station communicates with multiple terminals, the method comprising the steps of: obtaining channel vectors for respective ones of the terminals; selecting a subset of the terminals based on magnitudes of the respective channel vectors; computing a precoding matrix using the channel vectors of the selected subset of terminals; and utilizing the precoding matrix to control transmission to the selected subset of terminals.
 2. The method of claim 1 wherein the step of selecting the subset of the terminals further comprises selecting from among K terminals those N terminals having the largest channel vector magnitudes, where N<K.
 3. The method of claim 1 wherein the obtaining, selecting, computing and utilizing steps are repeated for each of a plurality of coherence intervals with potentially different subsets of terminals being selected in each of the coherence intervals.
 4. The method of claim 1 wherein the multiple-input, multiple-output communication system comprises a time-division duplex (TDD) multiple-input, multiple-output communication system.
 5. The method of claim 2 wherein the base station communicates with the multiple terminals via a set of M base station antennas, and a forward channel between the base station and the K terminals is characterized by a K×M matrix H.
 6. The method of claim 5 wherein the base station obtains the channel vectors by computing an estimate Ĥ of the forward channel matrix H, wherein the channel vectors comprise respective rows of the estimated forward channel matrix Ĥ and the estimated forward channel matrix Ĥ is computed based on training sequences transmitted by the respective terminals to the base station over a reverse channel.
 7. The method of claim 6 wherein the step of selecting from among K terminals those N terminals having the largest channel vector magnitudes further comprises forming an N×M matrix Ĥ_(S) _(N) =[ĥ₍₁₎ĥ₍₂₎ . . . ĥ_((N))]^(T) where ĥ₍₁₎ ^(T), ĥ₍₂₎ ^(T), . . . , ĥ_((K)) ^(T) comprise rows of the estimated forward channel matrix Ĥ arranged in order of decreasing channel vector magnitudes.
 8. The method of claim 7 wherein the step of computing a precoding matrix further comprises the step of computing the precoding matrix as $A_{S_{N}} = \frac{{{\hat{H}}_{S_{N}}^{\dagger}\left( {{\hat{H}}_{S_{N}}{\hat{H}}_{S_{N}}^{\dagger}} \right)}^{- 1}}{\sqrt{{tr}\left\lbrack \left( {{\hat{H}}_{S_{N}}{\hat{H}}_{S_{N}}^{\dagger}} \right)^{- 1} \right\rbrack}}$ where (·)^(†) and tr(·) denote Hermitian conjugate and trace operations, respectively.
 9. The method of claim 8 wherein the precoding matrix is normalized so that tr(A_(S) _(N) ^(†)A_(S) _(N) )=1.
 10. The method of claim 5 wherein the step of utilizing the precoding matrix to control transmission to the selected subset of terminals further comprises forming an M×1 transmission signal vector s_(f) by premultiplying an information symbol vector q=[q₁ q₂ . . . q_(N)]^(T) by the precoding matrix.
 11. A non-transitory processor-readable storage medium having embodied therein instruction code which when executed by a processor of a base station causes the base station to perform the steps of the method of claim
 1. 12. A base station of a multiple-input, multiple-output communication system, the base station being configured to communicate with multiple terminals of the system, the base station comprising: an antenna array comprising a plurality of antennas for communicating with the multiple terminals; transceiver circuitry coupled to the antennas of the antenna array; and a processor coupled to the transceiver circuitry; wherein the base station is operative to obtain channel vectors for respective ones of the terminals, to select a subset of the terminals based on magnitudes of the respective channel vectors, to compute a precoding matrix using the channel vectors of the selected subset of terminals, and to utilize the precoding matrix to control transmission to the selected subset of terminals.
 13. The base station of claim 12: wherein said processor is configured to obtain the channel vectors, to select the subset of the terminals, to compute the precoding matrix, and to utilize the precoding matrix to control transmission.
 14. The base station of claim 12 wherein the base station selects the subset of terminals by selecting from among K terminals those N terminals having the largest channel vector magnitudes, where N<K.
 15. A multiple-input, multiple-output communication system comprising: a plurality of terminals; and at least one base station configured to communicate with the terminals; wherein the base station is operative to obtain channel vectors for respective ones of the terminals, to select a subset of the terminals based on magnitudes of the respective channel vectors, to compute a precoding matrix using the channel vectors of the selected subset of terminals, and to utilize the precoding matrix to control transmission to the selected subset of terminals.
 16. The system of claim 15 wherein the base station selects the subset of terminals by selecting from among K terminals those N terminals having the largest channel vector magnitudes, where N<K.
 17. A method of communicating information in a multiple-input, multiple-output communication system in which a base station communicates with multiple terminals, the method comprising the steps of: obtaining channel vectors for respective ones of the terminals; computing a precoding matrix using the channel vectors; and utilizing the precoding matrix to control transmission to the terminals; wherein the precoding matrix is computed as a function of a product of a diagonal matrix and an estimated forward channel matrix.
 18. The method of claim 17 wherein the base station obtains the channel vectors by computing an estimated forward channel matrix Ĥ based on training sequences transmitted by the respective terminals to the base station over a reverse channel.
 19. The method of claim 18 wherein the step of computing a precoding matrix further comprises the step of computing the precoding matrix as $A_{D} = \frac{{{\hat{H}}_{D}^{\dagger}\left( {{\hat{H}}_{D}{\hat{H}}_{D}^{\dagger}} \right)}^{- 1}}{\sqrt{{tr}\left\lbrack \left( {{\hat{H}}_{D}{\hat{H}}_{D}^{\dagger}} \right)^{- 1} \right\rbrack}}$ where Ĥ_(D) = D Ĥ and ${D = {{diag}\left\{ \left\lbrack {p_{1}^{- \frac{1}{2}}p_{2}^{- \frac{1}{2}}\ldots\mspace{11mu} p_{K}^{- \frac{1}{2}}} \right\rbrack \right\}}},$ K denotes the number of terminals, and p=[p₁ p₂ . . . p_(K)]^(T) is a vector of non-negative real numbers, and where (·)^(†) and tr(·) denote Hermitian conjugate and trace operations, respectively.
 20. The method of claim 19 wherein p=[p₁ p₂ . . . p_(K)]^(T) is selected to approximately maximize a lower bound on forward channel weighted sum capacity.
 21. The method of claim 19 further including the step of selecting from among the K terminals a subset of N terminals to receive transmissions in a given coherence interval by ordering the K terminals such that p*₍₁₎∥z₍₁₎ ^(T)∥²≧ p*₍₂₎∥z₍₂₎ ^(T)∥²≧ . . . ≧ p*_((K))∥z_((K)) ^(T)∥² and selecting the first N of the ordered terminals, where p* is an optimized version of the p vector and z₍₁₎ ^(T), z₍₂₎ ^(T), . . . , z_((K)) ^(T) denote rows of a diagonal matrix formed as a function of the estimated forward channel matrix Ĥ.
 22. The method of claim 17 wherein the step of utilizing the precoding matrix to control transmission to the terminals further comprises forming an M×1 transmission signal vector s_(f) by premultiplying an information symbol vector q=[q₁ q₂ . . . q_(K)]^(T) by the precoding matrix.
 23. A non-transitory processor-readable storage medium having embodied therein instruction code which when executed by a processor of a base station causes the base station to perform the steps of the method of claim
 17. 24. A base station of a multiple-input, multiple-output communication system, the base station being configured to communicate with multiple terminals of the system, the base station comprising: an antenna array comprising a plurality of antennas for communicating with the multiple terminals; transceiver circuitry coupled to the antennas of the antenna array; and a processor coupled to the transceiver circuitry; wherein the base station is operative to obtain channel vectors for respective ones of the terminals, to compute a precoding matrix using the channel vectors, and to utilize the precoding matrix to control transmission to the terminals, wherein the precoding matrix is computed as a function of a product of a diagonal matrix and an estimated forward channel matrix. 